gdk_x11_surface_pre_damage (surface);
#ifdef HAVE_XDAMAGE
- if (context_x11->xdamage != 0)
+ if (context_x11->xdamage != 0 && _gdk_x11_surface_syncs_frames (surface))
{
g_assert (context_x11->frame_fence == 0);
}
}
-static gboolean
-should_sync_frame_drawing (GdkSurface *surface)
+gboolean
+_gdk_x11_surface_syncs_frames (GdkSurface *surface)
{
GdkX11Surface *impl = GDK_X11_SURFACE (surface);
maybe_sync_counter_for_end_frame (GdkSurface *surface)
{
GdkX11Surface *impl = GDK_X11_SURFACE (surface);
- gboolean frame_sync_negotiated = should_sync_frame_drawing (surface);
+ gboolean frame_sync_negotiated = _gdk_x11_surface_syncs_frames (surface);
gboolean frame_done_painting = !impl->toplevel->frame_pending;
#ifdef HAVE_XDAMAGE
maybe_sync_counter_for_end_frame (surface);
- if (should_sync_frame_drawing (surface))
+ if (_gdk_x11_surface_syncs_frames (surface))
{
impl->toplevel->frame_pending = TRUE;
gdk_surface_freeze_updates (surface);
void _gdk_x11_surface_update_size (GdkX11Surface *impl);
void _gdk_x11_surface_set_surface_scale (GdkSurface *window,
int scale);
+gboolean _gdk_x11_surface_syncs_frames (GdkSurface *surface);
void gdk_x11_surface_pre_damage (GdkSurface *surface);
void gdk_x11_surface_check_monitor (GdkSurface *surface,
GdkMonitor *monitor);
+
G_END_DECLS
#endif /* __GDK_X11_SURFACE__ */